package dominio.ubicaciones

import dominio.individuos.Ocupante
import org.uqbar.commons.utils.Observable
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonIgnoreProperties

@Observable
@JsonIgnoreProperties(ignoreUnknown = true)
class Lugar {
	
	@JsonIgnore private Pais pais
	private Ocupante ocupante
	@Property String nombreTipoLugar
	@Property boolean tieneVillano = false
	
	@Property String img;
	
	new() {}
	
	protected new(Pais pais) {
		this.pais = pais	
	}	
	
	@JsonIgnore
	private def getCaso() {
		pais.caso
	}
	
	@JsonIgnore
	def getResponsable() {
		caso.responsable
	}
	
	@JsonIgnore
	def getSiguientePais() {
		pais.siguientePais	
	}
	
	def Ocupante getOcupante() {
		this.ocupante
	}
	
	
	def void setOcupante(Ocupante ocupante) {
		this.tieneVillano = ocupante.esVillano
		this.ocupante = ocupante
	}
	
	@JsonIgnore
	def Pais getPais() {
		this.pais
	}
	
	@JsonIgnore
	def void setPais(Pais pais) {
		this.pais = pais
	}
}
